package com.zjf.carpark.dao;


import com.zjf.carpark.entities.AccessIncome;
import com.zjf.carpark.entities.AccessInfo;
import com.zjf.carpark.entities.AccessNum;
import com.zjf.carpark.vo.AccessByCarNumVo;
import com.zjf.carpark.vo.AccessInfoVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description:
 * @author: 张建飞
 * @createDate: 2019/12/21
 * @version: 1.0
 */
@Repository
public interface AccessInfoMapper extends BaseMapper<AccessInfo> {
    //汽车出场
    int out(AccessInfo accessInfo);

    //通过车牌号查询停车信息
    AccessInfo selectByCarNum(String carNum);

    //通过车牌号查询所有停车信息
    List<AccessInfo> selectAllByCarNum(AccessByCarNumVo accessByCarNumVo);

    //模糊分页查询所有临时车停车信息
    List<AccessInfo> selectAllLinShi(AccessInfoVO accessInfoVo);

    //查询临时总数
    int totalCount(AccessInfoVO accessInfoVo);

    //模糊分页查询所有固定车停车信息
    List<AccessInfo> selectAllFixed(AccessInfoVO accessInfoVo);

    //查询固定总数
    int fixedTotalCount(AccessInfoVO accessInfoVo);

    //查询最近今天的出场量
    int selectCount(@Param("begin") Integer begin, @Param("end") Integer end);

    //查询某一年每个月的出场量
    List<AccessNum> selectCountByYear(int year);

    //查询一条出入场信息
    AccessInfo selectByAccessId(String accessId);

    //通过车牌号查询数量
    int selectCountByCarNum(AccessByCarNumVo accessByCarNumVo);

    //查询某一年每个月的收入
    List<AccessIncome> selectIncomeByYear(int year);

    //临时停车总量
    int linShiCount();

    //固定停车总量
    int fixedCount();
}
